<!DOCTYPE html><html>

<head>
<meta charset="utf-8">
<title>安装配置说明</title>
<style type="text/css">
body {
  font-family: Helvetica, arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: white;
  padding: 30px; }

body > *:first-child {
  margin-top: 0 !important; }
body > *:last-child {
  margin-bottom: 0 !important; }

a {
  color: #4183C4; }
a.absent {
  color: #cc0000; }
a.anchor {
  display: block;
  padding-left: 30px;
  margin-left: -30px;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 20px 0 10px;
  padding: 0;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  cursor: text;
  position: relative; }

h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
  background: url() no-repeat 10px center;
  text-decoration: none; }

h1 tt, h1 code {
  font-size: inherit; }

h2 tt, h2 code {
  font-size: inherit; }

h3 tt, h3 code {
  font-size: inherit; }

h4 tt, h4 code {
  font-size: inherit; }

h5 tt, h5 code {
  font-size: inherit; }

h6 tt, h6 code {
  font-size: inherit; }

h1 {
  font-size: 28px;
  color: black; }

h2 {
  font-size: 24px;
  border-bottom: 1px solid #cccccc;
  color: black; }

h3 {
  font-size: 18px; }

h4 {
  font-size: 16px; }

h5 {
  font-size: 14px; }

h6 {
  color: #777777;
  font-size: 14px; }

p, blockquote, ul, ol, dl, li, table, pre {
  margin: 15px 0; }

hr {
  background: transparent url() repeat-x 0 0;
  border: 0 none;
  color: #cccccc;
  height: 4px;
  padding: 0;
}

body > h2:first-child {
  margin-top: 0;
  padding-top: 0; }
body > h1:first-child {
  margin-top: 0;
  padding-top: 0; }
  body > h1:first-child + h2 {
    margin-top: 0;
    padding-top: 0; }
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
  margin-top: 0;
  padding-top: 0; }

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
  margin-top: 0;
  padding-top: 0; }

h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
  margin-top: 0; }

li p.first {
  display: inline-block; }
li {
  margin: 0; }
ul, ol {
  padding-left: 30px; }

ul :first-child, ol :first-child {
  margin-top: 0; }

dl {
  padding: 0; }
  dl dt {
    font-size: 14px;
    font-weight: bold;
    font-style: italic;
    padding: 0;
    margin: 15px 0 5px; }
    dl dt:first-child {
      padding: 0; }
    dl dt > :first-child {
      margin-top: 0; }
    dl dt > :last-child {
      margin-bottom: 0; }
  dl dd {
    margin: 0 0 15px;
    padding: 0 15px; }
    dl dd > :first-child {
      margin-top: 0; }
    dl dd > :last-child {
      margin-bottom: 0; }

blockquote {
  border-left: 4px solid #dddddd;
  padding: 0 15px;
  color: #777777; }
  blockquote > :first-child {
    margin-top: 0; }
  blockquote > :last-child {
    margin-bottom: 0; }

table {
  padding: 0;border-collapse: collapse; }
  table tr {
    border-top: 1px solid #cccccc;
    background-color: white;
    margin: 0;
    padding: 0; }
    table tr:nth-child(2n) {
      background-color: #f8f8f8; }
    table tr th {
      font-weight: bold;
      border: 1px solid #cccccc;
      margin: 0;
      padding: 6px 13px; }
    table tr td {
      border: 1px solid #cccccc;
      margin: 0;
      padding: 6px 13px; }
    table tr th :first-child, table tr td :first-child {
      margin-top: 0; }
    table tr th :last-child, table tr td :last-child {
      margin-bottom: 0; }

img {
  max-width: 100%; }

span.frame {
  display: block;
  overflow: hidden; }
  span.frame > span {
    border: 1px solid #dddddd;
    display: block;
    float: left;
    overflow: hidden;
    margin: 13px 0 0;
    padding: 7px;
    width: auto; }
  span.frame span img {
    display: block;
    float: left; }
  span.frame span span {
    clear: both;
    color: #333333;
    display: block;
    padding: 5px 0 0; }
span.align-center {
  display: block;
  overflow: hidden;
  clear: both; }
  span.align-center > span {
    display: block;
    overflow: hidden;
    margin: 13px auto 0;
    text-align: center; }
  span.align-center span img {
    margin: 0 auto;
    text-align: center; }
span.align-right {
  display: block;
  overflow: hidden;
  clear: both; }
  span.align-right > span {
    display: block;
    overflow: hidden;
    margin: 13px 0 0;
    text-align: right; }
  span.align-right span img {
    margin: 0;
    text-align: right; }
span.float-left {
  display: block;
  margin-right: 13px;
  overflow: hidden;
  float: left; }
  span.float-left span {
    margin: 13px 0 0; }
span.float-right {
  display: block;
  margin-left: 13px;
  overflow: hidden;
  float: right; }
  span.float-right > span {
    display: block;
    overflow: hidden;
    margin: 13px auto 0;
    text-align: right; }

code, tt {
  margin: 0 2px;
  padding: 0 5px;
  white-space: nowrap;
  border: 1px solid #eaeaea;
  background-color: #f8f8f8;
  border-radius: 3px; }

pre code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: none;
  background: transparent; }

.highlight pre {
  background-color: #f8f8f8;
  border: 1px solid #cccccc;
  font-size: 13px;
  line-height: 19px;
  overflow: auto;
  padding: 6px 10px;
  border-radius: 3px; }

pre {
  background-color: #f8f8f8;
  border: 1px solid #cccccc;
  font-size: 13px;
  line-height: 19px;
  overflow: auto;
  padding: 6px 10px;
  border-radius: 3px; }
  pre code, pre tt {
    background-color: transparent;
    border: none; }

sup {
    font-size: 0.83em;
    vertical-align: super;
    line-height: 0;
}
* {
	-webkit-print-color-adjust: exact;
}
@media screen and (min-width: 914px) {
    body {
        width: 854px;
        margin:0 auto;
    }
}
@media print {
	table, pre {
		page-break-inside: avoid;
	}
	pre {
		word-wrap: break-word;
	}
}
</style>
</head>
<body>
<h1 id="toc_0">源码猩球多商户版拼团安装和配置说明</h1>

<hr>

<h2 id="toc_1">运行环境</h2>

<p>推荐：Linux ＋ Apache ＋ PHP ＋ Mysql</p>

<p>PHP扩展依赖：mysql，curl，gd，xml</p>

<h2 id="toc_2">其他要求</h2>

<ul>
<li>服务器需绑定一个备案域名</li>
<li>需提供认证服务号，同时开通微信支付</li>
</ul>

<h2 id="toc_3">安装步骤</h2>

<ol>
<li><strong>解压源码包，将源码放到web目录</strong></li>
<li><p><strong>找到源码包的db.sql, 将其导入mysql，生成数据库</strong>
创建数据库成功后，请记下以下信息，用户后续配置：</p>

<ol>
<li>mysql主机地址（一般是：127.0.0.1或localshot）</li>
<li>mysql用户名</li>
<li>mysql用户密码</li>
<li>mysql端口号（一般是：3306）</li>
<li>拼团的数据库名（导入db.sql您所填写的数据库名字）</li>
</ol></li>
<li><p><strong>将文件路径<code>data/config.example.php</code>重命名为<code>config.php</code>，然后修改源码里的配置，修改如下：</strong></p>

<pre><code class="language-none">$db_host   = &quot;请填写：mysql主机地址:mysql端口号&quot;;
$db_name   = &quot;请填写：mysql拼团数据库名&quot;;
$db_user   = &quot;请填写：mysql用户名&quot;;
$db_pass   = &quot;请填写：mysql用户密码&quot;;</code></pre></li>
<li><p><strong>系统默认地址和帐号信息</strong></p>

<ul>
<li><p><strong>系统后台</strong></p>

<p>登录地址： <code>http://你的域名/sysadm</code></p>

<p>默认管理员账密：<code>ymxq</code> / <code>ymxq123456</code></p></li>
<li><p><strong>商户后台</strong></p>

<p>登录地址：<code>http://你的域名/business/suppliers.php</code></p>

<p>测试商户账密：<code>ymxq1</code> / <code>123456</code></p>

<p>商户申请入驻地址：<code>http://你的域名/business/enter.php</code></p></li>
<li><p><strong>拼团前台</strong></p>

<p>访问地址（微信里打开）：<code>http://你的域名</code></p></li>
</ul></li>
</ol>

<h2 id="toc_4">配置说明</h2>

<p>配置分为<code>系统后台</code>和<code>微信公众号后台</code>两部分，配置完成，拼团才可以跑起来。</p>

<p>系统后台主要配置：商品，商家，配送区域，支付方式和微信对接等信息。</p>

<p>微信公众号主要配置：填写拼团系统的支付和OAuth信息，用于微信对接，实现用户认证和微信支付。</p>

<hr>

<h3 id="toc_5">系统后台配置</h3>

<ul>
<li><p><strong>商店设置</strong></p>

<p>作用：配置拼团商城基本信息</p>

<p>位置：菜单<code>系统设置－商店设置</code></p></li>
<li><p><strong>站点管理</strong></p>

<p>作用：配置站点区域，可用于后续商品的区域显示，类似拼多多的多区域功能</p>

<p>位置：菜单<code>系统设置－站点管理</code></p></li>
<li><p><strong>配送方式</strong></p>

<p>作用：运费模板，设置配送范围和运费（同城选城际快递，其他快递根据需求开启）</p>

<p>位置：菜单<code>系统设置－配送方式</code></p></li>
<li><p><strong>商品管理</strong></p>

<p>商品分类，位置：菜单<code>商品管理－商品分类</code></p>

<p>商品列表，添加商品，位置：菜单<code>商品管理－商品列表</code>  </p></li>
<li><p><strong>商家管理</strong></p>

<p>商家列表，管理商家，位置：菜单<code>商家管理－商家列表</code></p>

<p>商家结算，位置：菜单<code>商家管理－商家结算</code> （<em>商家结算，一天一结，只结算已确认收货的订单</em>）</p></li>
<li><p><strong>微信公众号配置</strong></p>

<p>作用：配置公众号，与微信对接</p>

<p>位置：菜单<code>微信设置－微信接口</code></p>

<p>注意：如不需要依赖后台配置公众号菜单，只需填写appid和appsecret；</p>

<p>如果需要，请填写token，并把url填写到公众号后台</p></li>
<li><p><strong>微信支付配置</strong></p>

<p>位置：菜单<code>系统设置－支付方式－微信支付－编辑</code></p>

<p>注意：只需填写<code>appid，appsecret,mchid和key</code></p>

<p>key的值需要登录微信支付后台获取，如果之前没配置，可使用系统随机生成的key（<em>拼团后台和微信支付后台都需要填写相同的值</em>）</p>

<p>配置key（API密钥）步骤：</p>

<pre><code class="language-none">1. 登录微信支付后台: http://pay.weixin.qq.com
2. 点击菜单“API安全”，找到“设置密钥按钮“，填写或者复制里面的密钥（保持与拼团后台一致）
3. 点击菜单“API安全”，找到“下载证书“按钮，验证后下载
4. 解压下载的证书压缩包“cert.zip&quot;，将里面的“apiclient_cert.pem“ 和 “apiclient_key.pem“
    这两个文件，拷贝到源码路径：&quot;wxpay/cacert&quot;下</code></pre>

<p><em>提示：如果是第一次登录微信支付后台，不知道等账号密码，请查看自己之前申请时用到的邮箱，密码在里面</em></p></li>
<li><p>其他</p>

<ul>
<li>操作员管理和权限管理，管理操作员，设置权限，位置：菜单<code>权限管理</code></li>
<li>促销管理：可配置<code>优惠券，订单优惠券，用户优惠券，商品优惠券</code>，位置：菜单<code>促销管理</code></li>
</ul></li>
</ul>

<h3 id="toc_6">微信公众号后台配置</h3>

<ul>
<li><p><strong>微信OAuth授权配置</strong></p>

<p>作用：将域名填写到微信公众号后台，拼团系统才能使用微信用户认证</p>

<p>操作：登录微信公众号后台，点击菜单<code>接口权限</code>，找到<code>网页授权获取用户基本信息</code>一项，点击旁边的<code>修改</code>按钮，填入<code>拼团主机域名</code>（<em>无需带<code>http://</code></em>）</p></li>
<li><p><strong>支付授权目录设置</strong></p>

<p>作用：将域名填写到微信公众号后台，拼团系统才能使用微信支付</p>

<p>操作：登录微信公众号后台，点击菜单<code>微信支付－开发配置</code>，找到<code>支付授权目录</code>，点击对应<code>修改</code>按钮，填写<code>拼团主机域名</code>（<em>域名注意<code>/</code>结尾</em>）</p></li>
<li><p><strong>js接口安全域名</strong></p>

<p>作用；将域名填写到微信公众号后台，拼团系统才能正确的调用微信js接口，实现微信分享等功能</p>

<p>操作：登录微信公众号后台，点击菜单<code>公众号设置－功能设置</code>，找到<code>JS接口安全域名</code>，点击对应<code>设置</code>按钮，填写<code>拼团主机域名</code> (<em>无需http</em>）</p></li>
</ul>

<h3 id="toc_7">商家后台</h3>

<p>可使用上述默认的商家后台信息进行测试，也可以在<code>系统后台－商家管理</code>添加新商家来测试。</p>

<p>商家后台，拥有自己的商品管理，店铺设置，配送方式和优惠券管理。</p>

<p>商家可以自行对订单进行处理以及订单结算。</p>

<p>基本操作类似系统后台，可自行登录熟悉操作。</p>


</body>

</html>
